﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Entities;
using DAL;

namespace QuanLyBilliards_Coffee
{
 
    public partial class FrmThongTinKhachHang : Form
    {
        public enum KieuTim
        {
            SoDT,
            HoTen,
            DiaChi

        }
        public KieuTim kieutim;
        

        public IKhachHangRepository khs = new KhachHangRepository();
        public FrmThongTinKhachHang()
        {
            InitializeComponent();
        }
        public string makh;
        public static KhachHang khstcapNhat = new KhachHang();
        private void listViewKhachhang_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (listViewKhachhang.SelectedItems.Count > 0)
                makh = listViewKhachhang.SelectedItems[0].SubItems[0].Text;
        }

        private void radten_CheckedChanged(object sender, EventArgs e)
        {

            RadioButton rd = sender as RadioButton;
            switch (rd.Name)
            {
                case "radten":
                    lbtim.Text = "Nhập Tên: ";
                    kieutim = KieuTim.HoTen;

                    break;
                case "raddiachi":
                    lbtim.Text = "Nhập Địa Chỉ : ";
                    kieutim = KieuTim.DiaChi;
                    break;
                case "radsdt":
                    lbtim.Text = "Nhập Số ĐT: ";
                    kieutim = KieuTim.SoDT;
                    break;
                default:
                    break;
            }

        }

        private void btntim_Click(object sender, EventArgs e)
        {
            string data = txttimkiem.Text;
            switch (kieutim)
            {
                case KieuTim.SoDT:
                    List<KhachHang> ds1 = new List<KhachHang>();


                    ds1 = khs.FindSoDT(data).ToList();
                    if (ds1.Count > 0)
                    {
                        LoadListView(ds1);
                        if (data == "")
                            MessageBox.Show("Bạn Chưa Nhập Số Điện Thoại Của Khách Hàng Cần Tìm");
                    }

                    else

                        MessageBox.Show("Không Tốn Tại Khách Hàng Cần Tìm");

                    break;
                case KieuTim.HoTen:
                    List<KhachHang> dsht = new List<KhachHang>();
                    dsht = khs.FindTenKH(data).ToList();
                    if (dsht.Count > 0)
                    {
                        LoadListView(dsht);
                        if (data == "")
                            MessageBox.Show("Bạn Chưa Nhập Tên Của Khách Hàng Cần Tìm");
                    }
                    else
                        MessageBox.Show("Không Tốn Tại Khách Hàng Cần Tìm");

                    break;
                case KieuTim.DiaChi:
                    List<KhachHang> dsDc = new List<KhachHang>();
                    dsDc = khs.FindDiaChi(data).ToList();
                    if (dsDc.Count > 0)
                    {
                        LoadListView(dsDc);
                        if (data == "")
                            MessageBox.Show("Bạn Chưa Nhập Địa Chỉ Của Khách Hàng Cần Tìm");
                    }
                    else
                        MessageBox.Show("Không Tốn Tại Khách Hàng Cần Tìm");
                    break;
                default:
                    break;
            }

        }
        public void LoadListView(List<KhachHang> listds)
        {
            listViewKhachhang.Items.Clear();
            foreach (KhachHang kh in listds)
            {
                ListViewItem item = new ListViewItem(kh.MaKH);
                item.SubItems.Add(kh.TenKH);
                string gt = "Nam";
                if (!kh.GioiTinh)
                    gt = "Nu";
                item.SubItems.Add(gt);
                item.SubItems.Add(kh.DiaChi);
                item.SubItems.Add(kh.SoDT);
                item.SubItems.Add(kh.CMND);
                item.SubItems.Add(kh.NgaySinh.ToString("dd/MM/yyyy"));
                listViewKhachhang.Items.Add(item);

            }
        }

        private void FrmThongTinKhachHang_Load(object sender, EventArgs e)
        {
            LoadListView(khs.GetAll().ToList());
        }

        private void bttThemKhachhang_Click(object sender, EventArgs e)
        {
            FormThemKhachHang.kiemtra = false;
            FormThemKhachHang frm = new FormThemKhachHang();
            frm.FormClosed += new FormClosedEventHandler(frm_FormClosed);
            frm.ShowDialog();

        }

        void frm_FormClosed(object sender, FormClosedEventArgs e)
        {
            LoadListView(khs.GetAll().ToList());
        }

        private void xóaKháchHàngToolStripMenuItem_Click(object sender, EventArgs e)
        {
            DialogResult rs = MessageBox.Show("Bạn có thật sự muốn xóa khách hàng này không", "Thông Báo", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
            if (rs == DialogResult.Yes)
            {
                KhachHang khsa = khs.GetById(makh);
                bool xoa = khs.Delete(khsa);

                if (xoa)
                {
                    MessageBox.Show("Xóa Thành Công");
                    LoadListView(khs.GetAll().ToList());
                }

                else
                    MessageBox.Show("Thất Bại ");

            }
        }
     
        private void cậpNhậtThôngTinKháchHàngToolStripMenuItem_Click(object sender, EventArgs e)
        {
            khstcapNhat = khs.GetById(makh);
            FormThemKhachHang.khag = khstcapNhat;
            FormThemKhachHang.kiemtra = true;
            FormThemKhachHang frm = new FormThemKhachHang();
            frm.FormClosed+=new FormClosedEventHandler(frm_FormClosed);
            frm.ShowDialog();


        }

        private void bttCapNhat_Click(object sender, EventArgs e)
        {
            khstcapNhat = khs.GetById(makh);
            FormThemKhachHang.khag = khstcapNhat;
            FormThemKhachHang.kiemtra = true;
            FormThemKhachHang frm = new FormThemKhachHang();
            frm.FormClosed += new FormClosedEventHandler(frm_FormClosed);
            frm.ShowDialog();
        }

        private void bttXoa_Click(object sender, EventArgs e)
        {
            DialogResult rs = MessageBox.Show("Bạn có thật sự muốn xóa khách hàng này không", "Thông Báo", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
            if (rs == DialogResult.Yes)
            {
                KhachHang khsa = khs.GetById(makh);
                bool xoa = khs.Delete(khsa);

                if (xoa)
                {
                    MessageBox.Show("Xóa Thành Công");
                    LoadListView(khs.GetAll().ToList());
                }

                else
                    MessageBox.Show("Thất Bại ");

            }

        }




    }
}
